Obtaining and displaying network topology information

ABSTRACT

Computer-readable media, methods and network information computer systems are provided for obtaining network topology information about a relationship between a configuration item and a network of configuration items based upon a property of the selected configuration item, and displaying the network topology information as a topological map.

BACKGROUND

Topology information for a network of configuration items often is stored in a configuration management database (“CMDB”). This information may be accessible using a query language such as the Structured Query Language (“SQL”) or the Topological Query Language (“TQL”). Applications exist for creating and running database queries graphically. However, without intricate knowledge of query languages such as SQL or TQL, novice and even intermediate users have great difficulty using these applications to create or execute complex database queries. Moreover, existing solutions provide for the input of general criteria of configuration items and return configuration items that meet those general criteria. Existing applications do not provide for the input of a particular configuration item or return topology information about that particular configuration item's relationship to the network.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 depicts a method of obtaining and displaying network topology information according to an embodiment of the disclosure.

FIG. 2 is a schematic view of a graphical user interface (“GUI”) for selecting/designing a perspective, according to an embodiment of the disclosure.

FIG. 3 depicts the GUI used to execute and view the results of the perspective of FIG. 2, according to an embodiment of the disclosure.

FIG. 4 depicts the GUI used to select another perspective, according to an embodiment of the disclosure.

FIG. 5 depicts the GUI used to execute and view the results of the perspective of FIG. 4, according to an embodiment of the disclosure.

DETAILED DESCRIPTION

Computer-readable media, methods and network information computer systems are provided for obtaining network topology information about a particular configuration item's relationship to a network of configuration items, based upon a property of the configuration item.

Network topology information may include a plurality of configuration items and the relationships between them. Configuration items may include, but are not limited to hosts (i.e., computers and computer systems), software elements, network addresses, communication ports at which network services are found, and the like. The term “network” as used herein is not limited to computer networks, but rather should be understood as a network of configuration items. A computer network is just one example of a network of configuration items.

A selected configuration item's relationship to a network of configuration items can be understood as the selected configuration item's “perspective” of the network. Thus, the term “perspective” is used herein to describe a predefined CMDB query that receives one or more configuration items as input and returns network topology information about the selected configuration item's relationship to a network of configuration items, based on a property of the configuration item. A perspective may be created using various languages, such as SQL or TQL. Properties and perspectives will be more fully understood in view of the following description and drawings.

An example method of obtaining network topology information about a relationship between a configuration item and a network of configuration items is shown in FIG. 1. In step 100, network topology information about a relationship between a configuration item and a network of configuration items is obtained. A plurality of configuration items may be provided from which a configuration item of interest may be selected. For example, a user may be presented with a drop-down menu listing a number of configuration items. In some embodiments, the plurality of configuration items may be related. For example, a drop-down menu may include computer systems in the same building as the user, computer systems and devices on the same local or wide-area computer network, or more broadly, configuration items of a network of configuration items.

A plurality of perspectives also may be provided from which to select. As noted above, a perspective may receive one or more configuration items as input and may obtain network topology information about the configuration item's relationship to a network of configuration items, based upon a property of the configuration item. Put another way, a perspective is like a function that has one or more input parameters of type configuration item and returns network topology information. Examples of perspectives, such as those shown in FIGS. 2 and 4, will be discussed further below.

A CDMB is queried using the selected perspective and the one or more selected configuration items as input to obtain network topology information about a relationship between the one or more selected configuration items and a network. Obtaining network topology information may include identifying configuration items related to the one or more selected configuration items based upon a property of the one or more selected configuration items. Links from the related configuration items to the one or more selected configuration items (also referred to as a “network route”), as well as links between the related configuration items, also may be identified.

In step 102, the network topology information is displayed as a topological map. In some embodiments, the topological map is displayed in a hierarchal manner, with the selected configuration item at the top. FIGS. 3 and 5 both show examples of such topological maps.

A configuration item may have multiple perspectives of a network corresponding to multiple properties of the configuration item. A property of a configuration item that may be defined in a perspective may relate generally to processes executing on the configuration item (where the configuration item is a host), configuration items of the network of configuration items to which the configuration item has access, and so on. The following discussion describes several examples of properties that may be defined by perspectives.

One example of a property is a class of computer processes to which a particular computer process executing on a selected configuration item belongs. A class of computer processes may include related business applications, related database applications, clients and related servers, computer processes that were purchased together under a license, computer processes that share resources, and the like. Some of these classes include computer processes that communicate with each other over a particular networking layer, such as the Application Layer of the Internet Protocol Suite. The Internet Protocol Suite is defined in Request for Comments 1122, the contents of which are incorporated herein by reference for all purposes.

An example of such a class is customer relationship management (“CRM”) applications (e.g., Siebel® applications), which generally communicate with each other over the Application Layer. A user can select a configuration item that is executing a CRM application and a perspective that queries a CMDB to identify configuration items on the same network that also are executing CRM and the relationships between them. The network topology information that is return then may be displayed as a topological map.

Another example property is defined in the perspective shown in FIG. 2. A GUI 200 includes a perspective selection area 202 that includes a list of perspectives 204 from which a user can select. In some embodiments a user also may design and edit perspectives using a similar GUI. A perspective viewing area 206 depicts the selected perspective 208 topologically. The selected perspective 208 in this example is configured to receive a single configuration item, CONTACT_HOST, as input, and to return related hosts, as well as software elements executing on those related hosts.

The left-most branch of perspective 208 seeks local software elements executing on the CONTACT_HOST. Local software elements may be any number of applications, such as server programs or CRM applications. The middle branch seeks software elements executing locally that are related to software elements executing remotely. For example, CONTACT_HOST may be executing an email client locally. This email client may be related to an email server program that is executing remotely, for instance, on a server computer in the same building. The right-most branch seeks hosts that are directly related to the CONTACT_HOST (e.g., computer systems connected to CONTACT_HOST via network cable), as well as software elements executing on the related host and any relationships between those software elements and other software elements previously mentioned.

To select one or more configuration items as input and to query the CMDB using the selected perspective, GUI 200 may switch to a view like the one shown in FIG. 3. A configuration item search area 210 on the left allows a user to search for configuration items to use as input to the perspective. In this example, a configuration type of “HOST” is selected, which limits the search results to configuration items that are computer systems. Other types of configuration items, such as software elements, may also be searched.

A configuration selection area 212 allows a user to select one or more configuration items returned from the search as input to the perspective. A perspective description area 214 describes the selected perspective and, in some embodiments, permits the selection of a different perspective.

Results of the perspective are displayed in a results area 216 as a topological map 218. In this example, two hosts (LAB1 and LAB6) were used as input. Because LAB1 and LAB6 are not directly related to one another (e.g., they are not part of the same local area network), two separate topological maps 218 are shown adjacent to one another. According to these results, LAB1 is executing a hypertext transport protocol (“HTTP”) process, a file transfer protocol (“FTP”) process, a simple mail transfer protocol (“SMTP”) process, and two other servers, SERVER 1 and SERVER 2, that are related to one another. LAB6 is related to a host called AMB1AIX, and is running a simple network management protocol (SNMP) server and a secure shell (SSH) server.

Another property that may be defined in a perspective is configuration items to which a selected configuration item has access and that share a second property. FIG. 4 depicts a perspective that returns configuration items to which CONTACT_HOST1 and CONTACT_HOST2 have access and that are database configuration items.

The perspective 208 on the right seeks in its left branch the IP address of CONTACT_HOST1, as well as a server IP address and port (e.g., TCP) to which CONTACT_HOST1's communicates as a client. If CONTACT_HOST1 is executing a database locally, then CONTACT_HOST1's IP address is the same as the server IP address. The perspective 208 on the right seeks in its right branch software elements that use the server IP address and port, as well as the host that is executing the software element. Although not shown in the drawing, the software elements may have properties that may be adjusted (e.g., by right-clicking on the software element) to limit the software elements to a particular type of software, which in this example is database software.

The perspective on the left seeks software elements executing locally on CONTACT_HOST2, Java 2 Platform, Enterprise Edition (“J2EE”) data sources that are deployed by the local software elements, software elements upon which those J2EE data sources depend, and the hosts executing those software elements upon which those J2EE data sources depend.

FIG. 5 depicts the results 218 from a CMDB when queried with the perspective of FIG. 4 and three configuration items, LAB_78, LAB 14 and LAB_82. LAB_78 has an IP address of 12.34.56.78 and is executing a Microsoft® SQL Server on TCP port 1433 (the default port for such applications). LAB_82 has an IP address of 12.34.56.82 and is executing an Oracle® database server on TCP port 1521 (the default port for such applications). LAB_14 has an IP address of 12.34.56.78. LAB_14 is not executing any database servers, but has access to both the MSSQL and Oracle servers running on the other two machines.

The disclosure set forth above may encompass multiple distinct embodiments with independent utility. The specific embodiments disclosed and illustrated herein are not to be considered in a limiting sense, because numerous variations are possible. The subject matter of this disclosure includes all novel and nonobvious combinations and subcombinations of the various elements, features, functions, and/or properties disclosed herein. The following claims particularly point out certain combinations and subcombinations regarded as novel and nonobvious. Other combinations and subcombinations of features, functions, elements, and/or properties may be claimed in applications claiming priority from this or a related application. Such claims, whether directed to a different invention or to the same invention, and whether broader, narrower, equal, or different in scope to the original claims, also are regarded as included within the subject matter of the inventions of the present disclosure.

Where the claims recite “a” or “a first” element or the equivalent thereof, such claims include one or more such elements, neither requiring nor excluding two or more such elements. Further, ordinal indicators, such as first, second or third, for identified elements are used to distinguish between the elements, and do not indicate a required or limited number of such elements, and do not indicate a particular position or order of such elements unless otherwise specifically stated. 

1. A computer-readable medium having computer-executable instructions for causing a computer to perform steps comprising: obtaining network topology information about configuration items related to a selected configuration item based upon a property of the selected configuration item; and displaying the network topology information as a topological map.
 2. The computer-readable medium of claim 1, wherein the network topology information includes a second configuration item and a network route between the selected configuration item and the second configuration item.
 3. The computer-readable medium of claim 2, wherein the property is a class of computer processes to which a particular computer process executing on the selected configuration item belongs, and the second configuration item shares the property with the selected configuration item.
 4. The computer-readable medium of claim 3, wherein computer processes of the class communicate with each other using the Application Layer of the Internet Protocol Suite.
 5. The computer-readable medium of claim 1, wherein the property is a set of configuration items to which the selected configuration item has access and which share a second property.
 6. The computer-readable medium of claim 5, wherein the second property is a class of computer processes.
 7. The computer-readable medium of claim 1, further having computer-executable instructions for causing the computer to provide a plurality of configuration items from which to select.
 8. The computer-readable medium of claim 1, wherein the property is defined in a perspective and the perspective is configured to receive the selected configuration item as input.
 9. The computer-readable medium of claim 8, wherein the perspective is further configured to receive a second configuration item as input, the medium further including computer-executable instructions for causing the computer to perform steps comprising: obtaining additional topology information about configuration items related to the second configuration item based upon the property; and displaying the additional network topology information as a second topological map.
 10. A method of obtaining information about a relationship between a configuration item and a network of configuration items, comprising: obtaining from a configuration management database network topology information about the relationship based upon a property of the configuration item; and displaying the network topology information as a topological map.
 11. The method of claim 10, wherein obtaining the network topology information includes identifying a second configuration item that shares the property with the configuration item and a network route between the configuration item and the second configuration item.
 12. The method of claim 11, wherein the property is a class of computer processes to which a particular computer process executing on the selected configuration item belongs.
 13. The method of claim 12, wherein computer processes of the class communicate with each other using the Application Layer of the Internet Protocol Suite.
 14. The method of claim 10, wherein the property is a set of configuration items to which the configuration item has access and which share a second property.
 15. The method claim 14, wherein the second property is a class of computer processes.
 16. The method of claim 10, further comprising: providing a plurality of configuration items from which to select the configuration item; and providing a plurality of perspectives from which to select, each perspective defining a property.
 17. A network information computer system, comprising: means for selecting a configuration item; means for selecting a property of the selected configuration item; means for obtaining network topology information about configuration items related to the selected configuration item based upon the selected property; and means for displaying the network topology information as a topological map.
 18. The network information computer system of claim 17, further including means for identifying a second configuration item that shares the property with the configuration item and a network route between the configuration item and the second configuration item.
 19. The network information computer system of claim 18, wherein the property is a class of computer processes to which a particular computer process executing on the selected configuration item belongs.
 20. The network information computer system of claim 19, wherein computer processes of the class communicate with each other using the Application Layer of the Internet Protocol Suite. 